JSON Schema একটি স্ট্যান্ডার্ড ফরম্যাট যা JSON ডেটার স্ট্রাকচার, বৈশিষ্ট্য এবং ডেটা টাইপ নির্ধারণ করে। এটি JSON ডেটার বৈধতা যাচাই করতে এবং ডেটা কনট্রোল করার জন্য ব্যবহৃত হয়। JSON Schema ডেভেলপারদের JSON ডেটার গঠন এবং এর বৈশিষ্ট্য নির্ধারণ করতে সহায়তা করে, যাতে ডেটা ট্রান্সফারের সময় ত্রুটি কম হয় এবং ডেটার গুণমান বজায় থাকে।
JSON Schema কী?
JSON Schema হল একটি নির্দিষ্ট কাঠামো যা JSON ডেটার ভিতরে থাকা কিপল-পেয়ার বা অ্যারের আকার, ডেটা টাইপ, এবং তাদের অন্যান্য বৈশিষ্ট্য সম্পর্কিত নিয়ম নির্ধারণ করে। JSON Schema ব্যবহার করে আপনি JSON ডেটা যাচাই করতে পারেন এবং এটি সঠিকভাবে স্ট্রাকচারড কিনা তা নিশ্চিত করতে পারেন।
JSON Schema সাধারণত একটি JSON ডকুমেন্টের মাধ্যমে প্রকাশ করা হয়, যা ডেটার প্রোপার্টি, ডেটা টাইপ এবং বাধ্যতামূলক ক্ষেত্রগুলি নির্ধারণ করে।
JSON Schema এর উপাদান
1. $schema:
এটি JSON Schema ডকুমেন্টের স্কিমার সংস্করণ উল্লেখ করে।
2. type:
এটি JSON ডেটার প্রকার (যেমন, object, array, string, integer ইত্যাদি) নির্দেশ করে।
3. properties:
এটি একটি অবজেক্টের ক্ষেত্রগুলির জন্য প্রোপার্টি নির্ধারণ করে।
4. required:
এটি নিশ্চিত করে যে কোন প্রোপার্টি বাধ্যতামূলক (required) হতে হবে।
5. items:
এটি অ্যারের জন্য উপাদানগুলির টাইপ বা স্কিমা নির্ধারণ করে।
6. enum:
এটি একটি সেটের মধ্যে অনুমোদিত মানগুলির তালিকা দেয়।
7. additionalProperties:
এটি নির্ধারণ করে যে একটি অবজেক্টে অতিরিক্ত অপ্রত্যাশিত প্রোপার্টি থাকতে পারবে কিনা।
JSON Schema উদাহরণ
এখানে একটি JSON Schema উদাহরণ দেওয়া হল যেখানে একটি ব্যবহারকারী (user) অবজেক্টের স্কিমা ডিজাইন করা হয়েছে।
JSON ডেটা:
{
"name": "John Doe",
"age": 30,
"email": "johndoe@example.com",
"isStudent": false
}
JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"age": {
"type": "integer",
"minimum": 18
},
"email": {
"type": "string",
"format": "email"
},
"isStudent": {
"type": "boolean"
}
},
"required": ["name", "age", "email"],
"additionalProperties": false
}
JSON Schema এর ব্যাখ্যা
$schema:
এটি JSON Schema এর সংস্করণ উল্লেখ করে, এখানেhttp://json-schema.org/draft-07/schema#ব্যবহার করা হয়েছে।type:typeএর মানobject, যা নির্দেশ করে যে এটি একটি অবজেক্ট টাইপ JSON ডেটা।properties:
এটি অবজেক্টের মধ্যে থাকা প্রোপার্টিগুলির ধরন নির্ধারণ করে:name: একটি স্ট্রিং।age: একটি পূর্ণসংখ্যা এবং এর মান অবশ্যই ১৮ বা তার বেশি হতে হবে (minimumনির্দেশক)।email: একটি স্ট্রিং যা ইমেইল ফরম্যাটে হতে হবে (formatনির্দেশক)।isStudent: একটি বুলিয়ান মান (true বা false)।
required:
এই প্রোপার্টিগুলির মান অবশ্যই উপস্থিত থাকতে হবে:name,age, এবংemail।additionalProperties:falseসেট করা হয়েছে, এর মানে হলো অবজেক্টে শুধুমাত্র নির্দিষ্ট প্রোপার্টিগুলিই থাকতে পারবে, অন্য কোনো অতিরিক্ত প্রোপার্টি থাকবে না।
JSON Schema ব্যবহারের সুবিধা
- ডেটার বৈধতা যাচাই:
JSON Schema ব্যবহার করে JSON ডেটার বৈধতা পরীক্ষা করা যায়, যার ফলে ডেটা এক্সচেঞ্জের সময় ত্রুটি কম হয়। - স্ট্রাকচার নির্ধারণ:
এটি JSON ডেটার কাঠামো এবং প্রোপার্টি নির্ধারণ করতে সাহায্য করে, যার ফলে ডেটার গঠন সঠিক এবং পরিস্কার থাকে। - ডেভেলপারদের সহায়তা:
JSON Schema ডেভেলপারদের জন্য ডেটার কাঠামো বুঝতে এবং ডেটা ব্যবহার করার সময় ভুল কমাতে সহায়তা করে। - API ডকুমেন্টেশন:
JSON Schema API ডকুমেন্টেশন তৈরি করতে সহায়ক, যেখানে API রিকোয়েস্ট এবং রেসপন্সের গঠন এবং বৈশিষ্ট্য নির্ধারণ করা যায়।
JSON Schema ব্যবহার করার সময় কিছু গুরুত্বপূর্ণ বিষয়
- নির্দিষ্ট স্কিমা নির্বাচন:
JSON Schema এর বিভিন্ন সংস্করণ রয়েছে। আপনি যেই সংস্করণ ব্যবহার করবেন, সেটি$schemaফিল্ডে উল্লেখ করতে ভুলবেন না। - বাধ্যতামূলক ক্ষেত্র:
requiredফিল্ডের মাধ্যমে আপনি কি কি প্রোপার্টি বাধ্যতামূলক তা নির্ধারণ করতে পারবেন। - ডেটা টাইপ নির্ধারণ:
JSON Schema ব্যবহার করে আপনি ডেটা টাইপ নির্ধারণ করতে পারবেন, যেমনstring,integer,boolean,arrayইত্যাদি। - সীমা নির্ধারণ:
আপনি কিছু ফিল্ডের জন্য সীমা (যেমন,minimum,maximum) নির্ধারণ করতে পারেন, যেমন একটি বয়সের মান অবশ্যই ১৮ বা তার বেশি হতে হবে।
সারাংশ
JSON Schema ডেটার কাঠামো এবং বৈশিষ্ট্য নির্ধারণ করার জন্য একটি শক্তিশালী টুল। এটি JSON ডেটার বৈধতা যাচাই করার জন্য ব্যবহৃত হয় এবং ডেভেলপারদের JSON ডেটা ঠিকমতো ব্যবহার করার জন্য সহায়তা করে। JSON Schema ব্যবহারের মাধ্যমে ডেটার গঠন এবং প্রোপার্টি নিশ্চিত করা যায়, যার ফলে ডেটার নিরাপত্তা এবং সঠিকতা বৃদ্ধি পায়।
Read more